package TreeMap;

import java.util.Set;
import java.util.TreeMap;

/*
           TreeMap集合：基本应用
            需求1：
                键：整数表示id
	            值：字符串表示商品名称
	            要求1：按照id的升序排列

	            要求2：按照id的降序排列
         */
public class demo1 {
    public static void main(String[] args) {
        //            采取第二种排序方式：比较器排序  因为第一种方法是默认升序,所以不能满足需求
        //Integer Double 默认情况下都是按照升序排列的
        //String 按照字母再ASCII码表中对应的数字升序进行排列
        //abcdefg ...
        TreeMap<Integer, String> tm1 = new TreeMap<>((o1, o2) -> o1 - o2);
        //o1是当前要添加的元素,
        //o2表示红黑树中存在的元素
        tm1.put(1, "可乐");
        tm1.put(3, "雪碧");
        tm1.put(2, "红牛");
        //要求1 按照id的升序排列;
        method01(tm1);
        System.out.println("-----------");
        //要求2 按照id降序排列
        TreeMap<Integer, String> tm2 = new TreeMap<>((o1, o2) -> o2 - o1);
        tm2.put(1, "可乐");
        tm2.put(3, "雪碧");
        tm2.put(2, "红牛");
        method01(tm2);

    }

    private static void method01(TreeMap<Integer, String> tm) {
        //获取所有的键,并存入单列集合当中
        Set<Integer> keys = tm.keySet();
        //遍历单列集合,得到每一个键(id) 升序
        for (Integer key : keys) {
            String value = tm.get(key);
            System.out.println(key + "--" + value);
        }
    }
}
